import threading
from time import sleep

'''
线程可以共享全局变量

GIL 全局解释器锁

线程同步 解决并发问题 效率会降低 lock

python底层只要用线程默认加锁 GIL

进程： 计算密集型
线程： IO密集型 耗时操作

共享数据不安全
数据量大的时候python会自动释放GIL锁 需要手动控制锁的释放

'''

n = 0


def task():
    global n
    for i in range(10000000):
        n += 1
    print("task1中的值是:", n)


def task2():
    global n
    for i in range(10000000):
        n += 1

    print("task2中的值是:", n)


if __name__ == '__main__':
    t1 = threading.Thread(target=task)
    t2 = threading.Thread(target=task2)

    t1.start()
    t2.start()

    t1.join()
    t2.join()

    print('main 线程结束, n=', n)

    print(188*20/60/24)
